package com.sybil.ot.dao;

import com.sybil.ot.dominio.Tarea;
import com.sybil.ot.dominio.TareaPK;
import com.sybil.ot.dominio.TipoTrabajo;
import java.util.List;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

@Repository("tareaDAO")
public class TareaDAO extends AbstractDAO<Tarea, TareaPK> {

   public TareaDAO() {
      super(Tarea.class);
   }

   public List<Tarea> obtenerTareas(boolean soloActivo) {
      if (soloActivo) {
         return obtener(Restrictions.eq("activo", "S"));
      } else {
         return obtener();
      }
   }

   public Tarea obtenerTarea(TareaPK clave) {
      return obtener(clave);
   }

   public Tarea obtenerTarea(String claveTipoTrabajo, String claveTarea) {
      return obtener(new TareaPK(claveTipoTrabajo, claveTarea));
   }

   public List<Tarea> obtenerPorTipoTrabajo(String claveTipoTrabajo) {
      return obtener(Restrictions.eq("tipoTrabajo", new TipoTrabajo(claveTipoTrabajo)));
   }

   public void guardarTarea(Tarea tarea) {
      guardar(tarea);
   }

   public void editarTarea(Tarea tarea) {
      editar(tarea);
   }

   public void eliminarTarea(Tarea tarea) {
      eliminar(tarea);
   }
}
